This invention relates to a computer based method of and system for developing Complete Context™ Bots.
The last few years have produced many marvelous advances in information technology and a number of well publicized disappointments including the demise of many “dot-com” companies and the implosion of many of the high technology communication firms. A major disappointment that has received relatively little attention has been the failure of agents or bots become fully established as useful products for both consumers and businesses. Bots and agents (hereinafter, referred to as bots) are software components that perform tasks in an automated fashion. They can work independently or as part of a larger application. In the consumer market, many expected bots to take over the responsibility for most day-to-day purchasing activity by constantly scouring the world wide web to locate the best prices, complete purchases and arrange for just-in-time delivery. These same people expected bots to perform similar functions in automating purchasing and logistics management for businesses. Others expected bots to automate customer service and tech support. Without exception, bots have failed to make significant inroads in all of these areas. This failure mirrors the similar failure of robots (robots will also be considered bots in this application) to take over major portions of manufacturing as they were widely expected to do in the latter part of the last century. Understanding the reasons for these inter-related failures requires a little more background regarding how bots are currently programmed and used.
Bots are generally programmed to complete two different types of tasks: simple tasks that need to be constantly repeated and relatively complex tasks that require “analysis”, “intelligence” or “decision making” before being implemented. Bots that perform simple tasks (using our expanded definition of bots) include simple pick and place robots that perform repetitive functions in a factory. In the Internet environment the most prevalent simple bot is the spider or web crawler that search engines use to keep their web site databases current.
The bots that perform more complicated tasks are those that respond to different inputs and recommend actions, report status and/or complete specific functions. These bots function by responding to specific stimuli or events from the external environment in accordance with pre-programmed instructions. Because these bots sort through a number of choices the information technology industry generally refers to bots of this type as “intelligent”. Examples of bots that have been labeled “intelligent” by their developers include news bots that constantly monitor online news and identify interesting pieces of information for closer inspection. Examples of news bots include BusinessVue and StockVue. These bots are only slightly more sophisticated than the simple bots we described previously.
More sophisticated, “intelligent” bots can be used to sort through various prices for goods that a user wants to purchase. In a manufacturing environment, “intelligent” robots include pick and place robots that understand what to do when the part they are supposed to “pick” is not found and process control bots that can change process operating parameters to improve results. Another type of bot that has recently appeared is the swarm or adaptive bots that develop numerous strategies, use a number of bots to implement or test the different strategies, evaluate their collective performance and modify the strategy mix to favor the more successful strategies before repeating the cycle. This adaptive behavior can be supplemented by active searches of the world wide web to locate the most current versions of information and data that are thought to be relevant. In all of these cases and all known cases, these sophisticated bots are used to implement or recommend strategies that optimize short term results given the information they have regarding the physical situation, the administrative situation (aka tactical situation) and the portion of the external environment they are programmed to evaluate.
In taking this approach, the currently available bots have three key deficiencies. The first deficiency of all known bots is that they ignore several key factors that would be required to truly optimize short term results. Short term factors ignored by all known bots include:                1) the impact of their decisions/recommendations on intangible elements of performance;        2) the impact of their decisions/recommendations on relative levels of performance risk; and        3) the impact of their decisions/recommendations on other parts of the organization that are not directly affected by the decision/recommendation.        
In many cases these deficiencies in bot background data are a product of the limitations of the narrowly focused management systems (hereinafter, narrow systems) like customer relationship management and supply chain management systems that most organizations use to manage their day to day operations.
The second deficiency of currently available bots is that they fail to strike a balance between optimizing short term impact and long term performance. As Jack Welch, the retired CEO of General Electric said “any fool can optimize short term results and any fool can optimize long term results. The real trick is striking a balance between the two.” The third deficiency of all known bots is that they do not have the ability to identify new information that is relevant to the decisions/recommendations being made. Said another way, these bots can optimize their decisions and/or recommendations within the box that has been defined by the user but they cannot change the box as required to improve the value of the decisions/recommendations being made.
The shortcomings of existing bots can be summarized by saying that bots do not have the complete context required to optimize short term results, they do not have the complete context required to balance short term results against long term performance and they do not have the ability to independently define the complete context that should guide their performance.
It is clear from the preceding discussion that bots need to have the ability to define, obtain and process complete context information if they are ever to achieve the level of market acceptance that has been widely expected for over twenty years (again, using our expanded definition of bots that includes robots).
A critical first step in defining a new approach to solving the problem of “getting the complete context to the right bot” is to clearly define the terms: data, information, context and knowledge. Data is anything that is recorded. This includes records saved in a digital format and data stored using other means. A subset of the digital data is structured data such as transaction data and data stored in a database for automated retrieval. Data that is not structured is unstructured data. Unstructured data includes data stored in a digital format and data stored in some other format (i.e. paper, microfilm, etc.). Information is data plus context of unknown completeness. Knowledge is data plus complete context. Complete context is defined as: all the information relevant to the decision being made using the data at a specific time. If a decision maker has data and the complete context, then providing additional data or information that is available at the time the decision is being made will not change the decision that was made. If additional data or information changes the decision, then the decision maker had “partial context”.
We will use an example to illustrate the difference between data, partial context, complete context and knowledge. The example is shown in Table 1.
TABLE 1Data: We received a check for $6,000 from Acme Tool today.Partial Context: Acme Tool owed our division $36,000 and promised topay the entire balance due last week. We are due to ship them another 100widgets next Tuesday, since we have only 50 in the warehouse we need tostart production by Friday if we are going to meet the promised date.Decision based on data + partial context: Stop production and havecustomer service put a credit hold flag on their account, then havesomeone call them to find out what their problem is.Complete context: Acme Tool owed our division $36,000 and promised topay the entire balance due last week. We are due to ship them another 100widgets next Tuesday, since we have only 50 in the warehouse we need tostart production by Friday if we are going to meet the promised date.Acme is a key supplier for Project X in the international division. Theinternational division owes Acme over $75,000. They expected to payAcme last week but they are late in paying because they have had someproblems with their new e.r.p. system. Netting it all out, our organizationactually owes Acme $45,000. We have also learned that our biggestcompetitor has been trying to get Acme to support their efforts to developa product like Project X.Decision based on knowledge (data + complete context): See if there isanything you can do to expedite the widget shipment. Call Acme, thankthem for the payment and see if they are OK with us deducting the moneythey owe us from the money the materials division owes them. If AcmeOKs it, then call the international division and ask them to do thepaperwork to transfer the money to us so we can close this out.The example in Table 1 illustrates that there is a clear difference between having data with partial context and having knowledge. Data with partial context leads to one decision while data with complete context creates knowledge and leads to another completely different decision. The example also reinforces the prior discussion regarding the reasons that so many firms are not realizing the return they expect from their investments in bots. Virtually every bot development system being sold today processes and analyzes data within the narrow silo defined by the portion of the organization it supports. As a result, these systems can not provide bots with the complete context required to turn data into knowledge.
Another limitation of all known bot development systems is their complete reliance on structured historical data. The problem with this is that not all data are stored and that most of the data that is stored is stored in an unstructured format that is difficult to process. The most common estimate is that 80% of the data that is stored digitally is stored in an unstructured format. A number of products are being developed to help structure unstructured digital data. The system of the present invention is capable of accepting input from these systems. The system of the present invention also has the ability to structure and process unstructured: text data, video data, geo-coded data and web data on its own. This leaves the problem of data that has not been stored in any system as an area needing further development. While much of the data that has not been stored may not be useful for performance management and bot development, the data that resides with subject-matter experts is potentially very valuable. In fact, as the world moves into an increasingly uncertain environment with a growing number of non-traditional threats and increasingly volatile weather patterns, the need to rely on information from subject-matter experts is expected to increase dramatically.
A method for systematically incorporating data from subject-matter experts into bot development systems is clearly needed. However, to be successful, this method needs to overcome a few potential problems. While subject-matter experts have a great deal of knowledge about a particular field, it is more likely than not that:                1. they do not have any expertise in knowledge representation, and        2. they do not have any expertise in probability theory.As a result, the subject-matter experts may have difficulty communicating their expertise in a manner that can be readily processed by a data fusion analysis. While overcoming both problems is important, solving the second problem is particularly important because subject-matter experts involvement is most likely to be critical in developing assessments for the increasing number of situations that have little or no precedent, very limited data and a consequent high degree of uncertainty.        
In light of the preceding discussion, it is clear that it would be desirable to develop methods and systems that could define the complete context required for effectively and efficiently programming bots. In short, the new methods and systems should help organizations improve their performance by developing, storing, retrieving and applying complete context information for use in developing sophisticated bots to complete tasks and develop recommendations in an automated fashion.